package com.xscha.tableforge.service;

import com.xscha.tableforge.model.vo.NodeMetaVo;
import java.util.List;

public interface NodeService {
    /**
     * 获取应用下的所有节点
     *
     * @param appId 应用ID
     * @return 节点列表
     */
    List<NodeMetaVo> getAppNodes(String appId);
    
    /**
     * 创建节点
     *
     * @param node 节点信息
     * @return 创建后的节点
     */
    NodeMetaVo createNode(NodeMetaVo node);
    
    /**
     * 更新节点
     *
     * @param node 节点信息
     * @return 更新后的节点
     */
    NodeMetaVo updateNode(NodeMetaVo node);
    
    /**
     * 删除节点
     *
     * @param id 节点ID
     * @return 是否成功
     */
    Boolean deleteNode(Long id);
    
    /**
     * 移动节点
     *
     * @param id 节点ID
     * @param parentId 目标父节点ID
     * @param displayOrder 显示顺序
     * @return 是否成功
     */
    Boolean moveNode(Long id, String parentId, Double displayOrder);
} 